package cn.iocoder.yudao.module.trade.dal.dataobject.depositorder;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import org.springframework.format.annotation.DateTimeFormat;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.TIME_ZONE_DEFAULT;

/**
 * 押金信息 DO
 *
 * @author 芋道源码
 */
@TableName("trade_deposit_order")
@KeySequence("trade_deposit_order_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DepositOrderDO extends BaseDO {

    /**
     * id
     */
    @TableId
    private Long id;
    /**
     * 对外展示
     */
    private String code;
    /**
     * 燃气户id
     */
    private Long crmMemberUserId;
    /**
     * 部门id
     */
    private Long deptId;
    /**
     * 部门名
     */
    private String deptName;
    /**
     * 支付方式0微信1支付宝2银行卡
     */
    private Integer payment;
    /**
     * 经办人id
     */
    private String operatorId;
    /**

     * 经办人名称
     */
    private String operatorName;
    /**

     * 总押金
     */
    private Integer depositAmount;
    /**
     * 租金价格
     */
    private Integer rentPrice;
    /**
     * 应收押金
     */
    private Integer toAmount;
    /**
     * 实收押金
     */
    private Integer inAmount;
    /**
     * 押金余额
     */
    private Integer balance;
    /**
     * 支付状态 0未收款待确认1已收款待确认2已收款完成3已作废4部分退瓶5全部退瓶已消单
     */
    private Integer payStatus;
    /**
     * 状态
     */
    private Integer status;
    /**
     * 来源
     */
    private Integer source;
    /**
     * 工单id
     */
    private Long wipId;
    /**
     * 工单编码
     */
    private String wipCode;
    /**
     * 起租时间
     */
    private LocalDateTime startTime;
    /**
     * 经办日期
     */
    private LocalDateTime endTime;
    /**
     * 单据id
            
     */
    private Long billId;
    /**
     * 回执
     */
    private Integer receiptLabel;
    /**
     * 回执状态
     */
    private Integer receiptStatus;
    /**
     * 回执时间
     */
    private LocalDateTime receiptTime;
    /**
     * 回执确认人
     */
    private String receiptName;
    /**
     * 起租日期1今天2昨天3自定义
     */
    private Integer startDayType;
    /**
     * 经办日期1今天2昨天3自定义
     */
    private Integer endDayType;
    /**
     *  押金详情图片展示
     */
    private String depositImage;

    /**
     *  备注
     */
    private String remark;
    @TableField(exist = false)
    private String skuName;
    /**
     * 押金内容
     */
    @TableField(exist = false)
    private String depositContent;

    /**
     *剩余数量
     */
    private Integer residueCount;
}